package service.Azubi_Kurs;

import java.util.List;

import Fiad.FIAD;

import dao.Azubi_Kurs.Azubi_KursDAO;
import dao.Azubi_Kurs.Azubi_KursDAOImpl;

import valueobjects.Azubi.Azubi;
import valueobjects.Azubi_Kurs.Azubi_Kurs;
import valueobjects.Kurs.Kurs;

public class Azubi_KursServiceImpl implements Azubi_KursService {
	private FIAD fiad;
	private Azubi_KursDAO dao = new Azubi_KursDAOImpl();
	List<Azubi_Kurs> alleAzubiKurse;

	public Azubi_KursServiceImpl(FIAD fiad) {
		this.fiad = fiad;
	}

	@Override
	public List<Azubi_Kurs> holeAlleAzubi_Kurs() {
		this.alleAzubiKurse = this.dao.holeAlleAzubi_Kurs();
		for (Azubi_Kurs azubiKurs : this.alleAzubiKurse) {
			// MIt Azubi verbinden
			for (Azubi azubi : this.fiad.getAlleAzubis()) {
				if (azubiKurs.getFk_azubi() == azubi.getId()) {
					azubiKurs.setAzubi(azubi);
				}
			}

			// Selbiges mit Kursen
			for (Kurs kurs : this.fiad.getAlleKurse()) {
				if (azubiKurs.getFk_kurs() == kurs.getId()) {
					azubiKurs.setKurs(kurs);
				}
			}

		}

		return alleAzubiKurse;
	}

	@Override
	public void speichereAzubi_Kurs(Azubi_Kurs azubiKurs) {
		this.dao.speichereAzubi_Kurs(azubiKurs);

	}

	@Override
	public void loescheAzubi_Kurs(Azubi_Kurs azubiKurs) {
		this.dao.loescheAzubi_Kurs(azubiKurs.getId());

	}

	@Override
	public void aendereAzubi_Kurs(Azubi_Kurs azubiKurs) {
		this.dao.aendereAzubi_Kurs(azubiKurs);

	}

}
